// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// Issue 3741: generic type tests and casts fail in assertion statements
// when run in production mode.
//
// The cause was incomplete generic type skipping, so each of the assert
// statements below would fail.
//
// VMOptions=
// VMOptions=--enable_asserts

main() {
  var names = <int>[];

  // Generic type test.
  assert(names is List<int>);

  // Negated generic type test.
  assert(names is! List<String>);

  // Generic type cast.
  assert((names as List<num>).length == 0);

  // Generic type test inside expression.
  assert((names is List<int>));
}
